﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            //向集合中添加元素
            ArrayList list1 = new ArrayList() { "我", "的", "出", "生", "年", "份", "是" };
            list1.Add("2000");

            //向集合中添加另一个集合
            ArrayList list2 = new ArrayList() { "我", "属", "龙" };
            list1.AddRange(list2);

            //遍历元素
            foreach (var v in list1)
            {
                Console.WriteLine(v);
            }

            //从集合中移除所有元素
            ArrayList list3 = new ArrayList() { "这是", "我的", "第一次练习" };
            list3.Clear();

            foreach (var v in list3)
            {
                Console.WriteLine(v);
            }

            //判断集合中是否含有指定元素
            ArrayList list4 = new ArrayList() { 1, 3, 4, 6 };
            Console.WriteLine(list4.Contains(1));
            Console.WriteLine(list4.Contains(2));

            //复制数组元素
            int[] arr1 = { 5, 2, 0, 1 };
            int[] copy1 = new int[arr1.Length];
            arr1.CopyTo(copy1, 0);
            foreach (var v in copy1)
            {
                Console.WriteLine(v);
            }

            //复制数组元素到指定索引
            int[] arr2 = { 5 };
            int[] copy2 = { 8, 6, 7 };
            arr2.CopyTo(copy2, 1);
            foreach (var v in copy2)
            {
                Console.WriteLine(v);
            }

            //获取集合中实际含有的元素个数
            ArrayList list5 = new ArrayList() { 2, 3, 4, 2, 1, 5, 6 };
            Console.WriteLine(list5.Count);
            //返回指定值在集合中第一次出现的位置
            Console.WriteLine(list5.IndexOf(2));
            //返回指定值在集合中从指定位置开始第一次出现的位置
            Console.WriteLine(list5.IndexOf(2, 1));

            //向集合中的指定索引处插入
            ArrayList list6 = new ArrayList() { 1, 3 };
            list6.Insert(1, 2);
            foreach (var v in list6)
            {
                Console.WriteLine(v);
            }

            //向集合中的指定索引处插入一个集合
            ArrayList list7 = new ArrayList() { 4, 5, 6 };
            list7.InsertRange(0, list6);
            foreach (var v in list7)
            {
                Console.WriteLine(v);
            }
        }
    }
}
